草庐IT

python - 计算数据结构的 md5 哈希

全部标签

ruby - 如何在 Ruby 中创建一个哈希来比较字符串,忽略大小写?

在Ruby中,我想在哈希中存储一些内容,但我不希望它区分大小写。例如:h=Hash.newh["HELLO"]=7putsh["hello"]这应该输出7,即使大小写不同。我可以只覆盖散列的相等方法或类似的方法吗?谢谢。 最佳答案 为防止此更改完全破坏程序的独立部分(例如您正在使用的其他ruby​​gem),请为您的不敏感哈希创建一个单独的类。classHashClod1you_insensitive['CLod']=5putsyou_insensitive['clod']#=>5重写赋值和检索函数后,就小菜一碟了。创建Hash的完

ruby-on-rails - Ruby/RoR - 计算数组中元素的出现次数

我有一个哈希{1=>true,7=>false,6=>true,4=>false}或者像这样的数组[1,true],[7,false],[6,true],[4,false]]或[真、假、真、假]。如何找到数组中true的个数? 最佳答案 为了对元素进行计数,您显然必须遍历集合。由于遍历Hash会产生两个元素的Array,因此前两个实际上完全相同:{1=>true,7=>false,6=>true,4=>false}.count(&:last)[[1,true],[7,false],[6,true],[4,false]].count(

ruby - 从嵌套哈希中删除特定元素

我正在尝试使用嵌套哈希。我有一副纸牌,如下所示:deck_of_cards={:hearts=>{:two=>2,:three=>3,:four=>4,:five=>5,:six=>6,:seven=>7,:eight=>8,:nine=>9,:ten=>10,:jack=>10,:queen=>10,:king=>10,:ace=>11},:spades=>{:two=>2,:three=>3,:four=>4,:five=>5,:six=>6,:seven=>7,:eight=>8,:nine=>9,:ten=>10,:jack=>10,:queen=>10,:king=>10,:

ruby-on-rails - 对哈希数组中的值求和的更好方法

关闭。这个问题是off-topic.它目前不接受答案。想改进这个问题吗?Updatethequestion所以它是on-topic用于堆栈溢出。关闭9年前。Improvethisquestion我需要对数组哈希中的值求和,我找到了一种方法来做到这一点here但在Ruby中似乎应该有更优雅的方式。这是有效的;sales=[{"sale_price"=>210000,"deed_type"=>"WarrantyDeed"},{"sale_price"=>268300,"deed_type"=>"WarrantyDeedJoint"}]total_sales=sales.inject(0){

ruby-on-rails - 计算数组元素之间的差异

给定一个由n个整数组成的有序数组,如下所示:ary=[3,5,6,9,14]我需要计算数组中每个元素与下一个元素之间的差异。使用上面的例子,我最终会得到:[2,1,3,5]起始数组中可能有0个、1个或多个元素,我要处理的数字会大得多(我将使用纪元时间戳)。我尝试了以下方法:times=@messages.map{|m|m.created_at.to_i}left=times[1..times.length-1]right=times[0..times.length-2]differences=left.zip(right).map{|x|x[0]-x[1]}但我上面的解决方案既不是最优

ruby - 如何合并多个哈希?

现在,我正在像这样合并两个哈希值:department_hash=self.parse_departmenthtmlsuper_saver_hash=self.parse_super_saverhtmlfinal_hash=department_hash.merge(super_saver_hash)输出:{:department=>{"PetSupplies"=>{"Birds"=>16281,"Cats"=>245512,"Dogs"=>513926,"Fish&AquaticPets"=>46811,"Horses"=>14805,"Insects"=>364,"Reptiles

ruby-on-rails - 在 Ruby 中,如何从 CSV 文件中按列读取数据?

我知道它是如何逐行完成的CSV.foreach(filename.csv)do|row|puts"#{row}"end但我完全迷失了专栏? 最佳答案 测试.csv:name,surname,no1,no2,no3,dateRaja,Palit,77489,24,84,12/12/2011Mathew,bargur,77559,25,88,01/12/2011harin,Roy,77787,24,80,12/12/2012Soumi,paul,77251,24,88,11/11/2012按列访问:require'csv'csv=CSV

ruby-on-rails - 从 Rails 控制台修改数据库 ID?

我有一个小型数据库,一直在通过Rails页面添加条目。我“销毁”了其中一个条目,现在我的ID序列跳过了一个。例如,我现在有42然后是44,而不是显而易见的:42、43、44。我想知道是否有办法通过控制台编辑新对象的ID号。我试过:record.id=43record.save和record=record.newrecord.attributes={:id=>43}但两者均无效。我相当确定必须有一个控制台方法,但我似乎无法在谷歌上找到更多具体信息,而且我可能错误地阅读了RailsAPI......我是否可能必须通过sqlite中的直接SQL来执行此操作?谢谢

ruby - 如果我在单独的 Ruby 线程中进行任何密集计算,为什么 Ruby 1.9 GUI 会挂起?

Ruby1.9应该有本地线程,如果某些线程进入本地代码(比如GUI工具包主循环或某些Ruby库的C实现),GIL应该会提升。但是,如果我开始遵循在主线程中显示GUI的简单代码示例,并在单独的线程中执行一些基本数学运算-GUI会严重挂起,请尝试调整窗口大小以自己查看。我检查了不同的GUI工具包Qt(qtbindingsgem)——它的行为完全相同。在Windows7和OSX10.7上使用Ruby1.9.3-p0测试require'tk'require'thread'Thread.new{loop{a=1}}TkRoot.new.mainloop()Python中的相同代码运行良好,没有任

ruby - 使用 Hash#dig 或 Lonely operator(&.) 安全地为嵌套哈希赋值

h={data:{user:{value:"JohnDoe"}}}要为嵌套哈希赋值,我们可以使用h[:data][:user][:value]="Bob"但是如果中间的任何部分缺失,就会导致错误。有点像h.dig(:data,:user,:value)="Bob"不会工作,因为还没有可用的Hash#dig=。要安全地赋值,我们可以做h.dig(:data,:user)&.[]=(:value,"Bob")#orequivalentlyh.dig(:data,:user)&.store(:value,"Bob")但是有更好的方法吗? 最佳答案